'use strict';

module.exports = app => {
  const { STRING, TEXT, INTEGER, DATE } = app.Sequelize;

  const Article = app.model.define('article', {
    id: { type: INTEGER, primaryKey: true, autoIncrement: true }, // 文章ID，主键，自增
    title: STRING(100), // 文章标题
    summary: STRING(255), // 文章简介
    content: TEXT, // 文章内容
    cover_image: STRING(255), // 封面图片URL
    user_id: INTEGER, // 作者ID，关联用户表
    status: INTEGER, // 文章状态（0-草稿，1-已发布）
    created_at: DATE, // 创建时间
    updated_at: DATE, // 更新时间
  });

  // 定义与User模型的关联
  Article.associate = function() {
    this.belongsTo(app.model.User, {
      foreignKey: 'user_id',
      as: 'user',
    });
  };

  return Article;
};